<?php
class DocumentReportComponent extends Object {

    var $components = array('Formating');

    /**
     * Startup - Link the component to the controller.
     *
     * @param controller
     */
    function startup(&$controller) { 
        $this->controller =& $controller;
    }
    /**
     * Initialize the report form by creating links to models
     * and storing table meta data.
     *
     * @data array
     */
    function initDocumentForm($des = null, $has = null, $codigo = null, $opc = null){
            if(array_key_exists('printable', $_SESSION)){
                    $docs = $_SESSION['printable'];
                    $_SESSION['printable'] = null;
            } else $docs = null;

            if (empty($des) && empty($docs)){
                    $this->controller->Session->setFlash('El Id de Documento es invalido.');
                    $this->controller->set('done', 0);
                    return false;
            }
            if (!empty($des) && empty($has)){
                    $has = $des;
            }
            $modeloSec = '';
            switch ($codigo){
                    case 101:
                            $modelo 	= 'Factura';
                            $modeloSec 	= 'DocumentoVenta';
                            $titulo 	= 'Reporte preimpreso de Facturas';
                            $tipo		= 101;
                            break;
                    case 103:
                            $modelo     = 'Boleta';
                            $modeloSec 	= 'DocumentoVenta';
                            $titulo 	= 'Reporte preimpreso de Boletas';
                            $tipo		= 103;
                            break;
                    case 107:
                            $modelo 	= 'NotaCredito';
                            $modeloSec 	= 'DocumentoVenta';
                            $titulo 	= 'Reporte preimpreso de Notas de Crédito';
                            $tipo		= 107;
                            break;
                    case 108:
                            $modelo 	= 'NotaDebito';
                            $modeloSec 	= 'DocumentoVenta';
                            $titulo 	= 'Reporte preimpreso de Notas de Débito';
                            $tipo		= 108;
                            break;
                    case 109:
                            $modelo 	= 'GuiaRemisione';
                            $titulo 	= 'Reporte preimpreso de Guia de Remisión';
                            $tipo		= 109;
                            break;
                    case 120:
                            $modelo 	= 'ComprobanteRetencione';
                            $titulo 	= 'Reporte preimpreso de Comprobante de Retencion';
                            $tipo		= 120;
                            break;
                    case 140:
                            $modelo 	= 'ComprobantePercepcione';
                            $titulo 	= 'Reporte preimpreso de Comprobante de Percepción';
                            $tipo		= 140;
                            break;
                    case 999:
                            $modelo 	= 'ConstanciaPesoMedida';
                            $titulo 	= 'Reporte preimpreso de Constancia de Verificacion de Pesos y Medidas';
                            $tipo       = 999;
                            break;
					case 888:
                            $modelo 	= 'DocumentoBancario';
                            $titulo 	= 'Reporte preimpreso de Documento Bancario';
                            $tipo       = 888;
                            break;
                    default:
                            $this->controller->Session->setFlash(__('El codigo de documento no es valido.', true));
                            $this->controller->set('done', 0);
                            return false;
            }
            $this->controller->layout = 'reporte_html'; // CARGO EL LAYOUT DEL REPORTE HTML
            Configure::write('debug', 0); ///////////////QUITO EL DEBUGGER

            $this->controller->set('doc', $modelo);
            $this->controller->set('modeloSec', $modeloSec);
            $this->controller->set('titulo', $titulo);
            $this->controller->set('tipoDoc', $tipo);/////////MUESTRA EL TIPO DE DOCUMENTO A IMPRIMIR

            //$this->controller->{$modelo}->recursive = 4;
            if ($codigo == 101 || $codigo == 103 || $codigo == 107 || $codigo == 108){// DOCUMENTOS DE VENTA

                    $conditions = array(
                            $modeloSec.'.activo'=>true,
                            $modeloSec.'.codigo_documento_id'=>$codigo,
                            $modeloSec.'.anulado'=>false);
                    if (!empty($docs))
                            $conditions = array_merge($conditions, array($modeloSec.'.id '=>$docs));
                    else
                            $conditions = array_merge($conditions, array($modeloSec.'.numero_control >='=>$des,$modeloSec.'.numero_control <='=>$has));

                    $this->controller->{$modelo}->{$modeloSec}->Behaviors->attach('Containable');
                    if ($codigo == 107 || $codigo == 108) // notas de credito o debito
                            $ref = array(
                                            'DocumentoReferencia'=>array(
                                                    'fields'=>array('id','fecha_emision','fecha_pago','numero_documento'),
                                                    'CodigoDocumento'=>array(
                                                            'fields'=>array('id','simbolo','descripcion')))
                            );
                    else {
                            if($codigo == 103){
								$ref = array(
									'DocumentoReferencia'=>array(
										'fields'=>array('id','fecha_emision','numero_documento','codigo_documento_id'),
									)
								);
                            }
                            else{
                                    $ref = array();
                            }
                    }
                    $data = $this->controller->{$modelo}->{$modeloSec}->find('all', array(
                            'conditions'=>$conditions,
                            'order'=>array(
                                    $modeloSec.'.fecha_emision DESC',
                                    $modeloSec.'.numero_documento ASC'),
                            'fields'=>array(
                                    'DocumentoVenta.numero_documento',
                                    'DocumentoVenta.loc_cliente',
                                    'DocumentoVenta.fecha_emision',
                                    'DocumentoVenta.fecha_pago',
                                    'DocumentoVenta.fecha_entrega',
                                    'DocumentoVenta.nombre_vendedor',
                                    'DocumentoVenta.numero_control',
                                    'DocumentoVenta.cliente_id',
                                    'DocumentoVenta.direccion_cliente',
                                    'DocumentoVenta.suma_valor_venta_total',
                                    'DocumentoVenta.moneda_id',
                                    'DocumentoVenta.suma_impuesto',
                                    'DocumentoVenta.suma_importe_total',
                                    'DocumentoVenta.suma_percepcion',
									'DocumentoVenta.ref_impuesto',
                                    'DocumentoVenta.zona_venta_id',
                                    'DocumentoVenta.fecha_creacion',
                                    'DocumentoVenta.usuario_creacion_id',
                                    'DocumentoVenta.nombre_cliente',
									'DocumentoVenta.fecha_impresion',
                                    'DocumentoVenta.glosa',
                                    ),
                            'contain'=>array(
                                    'Cliente'=>array(
                                            'fields'=>array('id','codigo','direccion_entrega','referencia'),
                                            'Tercero'=>array(
                                                    'fields'=>array('Tercero.ruc','Tercero.numero_documento'))),
                                    'DocumentoVentaDetalle'=>array(
										'fields'=>array(
											'id',
											'descripcion_producto',
											'valor_venta_unidad',
											'descuento_unidad',
											'impuesto',
											'percepcion',
											'valor_venta_total',
											'importe_total',
											'cantidad',
											'producto_id'),
												'Producto'=>array(
													'fields'=>array('exonerado_igv','peso','peso_neto','unidad_medida_id','codigo','con_percepcion'),
													'UnidadMedida'=>array('descripcion','simbolo'))),
                                    'CodigoDocumento'=>array(
                                            'fields'=>array('id','descripcion','simbolo')
                                    ),
                                    'ZonaVenta'=>array(
                                            'fields'=>array('id','codigo')
                                    ),
                                    'Moneda'=>array(
                                            'fields'=>array('id','descripcion','simbolo')
                                    ),
                                    //$modelo= (Factura, Boleta, NotaCredito o NotaDebito)
                                    $modelo=>$ref
                            )
                    ));
                    for($i = 0; $i < count($data); $i++){
                            $numero = $data[$i][$modeloSec]['numero_documento'];
                            $serie = substr($numero,0,3);
                            $this->controller->{$modelo}->{$modeloSec}->CodigoDocumento->CodigoDocumentoDetalle->Behaviors->attach('Containable');
                            $codigodet = $this->controller->{$modelo}->{$modeloSec}->CodigoDocumento->CodigoDocumentoDetalle->find('first', array(
                                    'conditions'=>array(
                                            'codigo_documento_id'=>$codigo,
                                            'serie'=>$serie
                                    ),
                                    'fields'=>array('id','serie','itinerante'),
                                    'contain'=>array()
                            ));
                            if (!empty($codigodet['CodigoDocumentoDetalle']) && $codigodet['CodigoDocumentoDetalle']['itinerante']){
                                    unset($data[$i]);
                            }
                    }
                    $modelo = $modeloSec;
            }
            if ($codigo == 140){  //COMPROBANTE DE PERCEPCION

                    $conditions = array($modelo.'.activo'=>true,$modelo.'.anulado'=>false);
                    if (!empty($docs))
                            $conditions += array($modelo.'.id '=>$docs);
                    else
                            $conditions += array($modelo.'.numero_control >='=>$des,$modelo.'.numero_control <='=>$has);

                    $this->controller->{$modelo}->Behaviors->attach('Containable');
                    $data = $this->controller->{$modelo}->find('all', array(
                            'conditions'=>$conditions,
                            'order'=>array(
                                    $modelo.'.fecha_emision DESC',
                                    $modelo.'.numero_documento ASC'),
                            'fields'=>array(
                                    $modelo.'.numero_control',
                                    $modelo.'.numero_documento',
                                    $modelo.'.fecha_emision',
                                    $modelo.'.nombre_vendedor',
                                    $modelo.'.suma_importe_percepcion',
                                    $modelo.'.suma_importe_total',
                                    $modelo.'.tipo_documento_id',
                                    $modelo.'.numero_documento_cliente',
                                    $modelo.'.cliente_id',
                                    $modelo.'.ruc_cliente',
                                    $modelo.'.moneda_id',
                                    $modelo.'.suma_importe_cobranza',
                                    $modelo.'.nombre_cliente'),
                            'contain'=>array(
                                    'TipoDocumento'=>array(
                                            'fields'=>array('id','simbolo')),
                                    'ComprobantePercepcionDetalle'=>array(
                                            'fields'=>array(
                                                    'id',
                                                    'codigo_documento_id',
                                                    'documento_venta_id',
                                                    'ref_percepcion',
                                                    'importe_cobranza',
                                                    'importe_percepcion'),
                                            'CodigoDocumento'=>array(
                                                    'fields'=>array('simbolo')),
                                            'DocumentoVenta'=>array(
                                                    'fields'=>array(
                                                            'numero_documento',
                                                            'fecha_emision',
                                                            'suma_valor_venta_total',
                                                            'suma_importe_total',
                                                            'ref_percepcion_total',
                                                            'suma_percepcion')),
                                            ),
                                    'Cliente'=>array(
                                            'fields'=>array('id','codigo'),
                                            'Tercero'=>array(
                                                    'fields'=>array('Tercero.numero_documento'))),
                                    )
                    ));
            }
			if ($codigo == 120){  //COMPROBANTE DE PERCEPCION

					$conditions = array($modelo.'.activo'=>true,$modelo.'.anulado'=>false);
					if (!empty($docs))
							$conditions += array($modelo.'.id '=>$docs);
					else
							$conditions += array($modelo.'.numero_control >='=>$des,$modelo.'.numero_control <='=>$has);

					$data = $this->controller->{$modelo}->find('all', array(
							'conditions'=>$conditions,
							'order'=>array(
									$modelo.'.fecha_emision DESC',
									$modelo.'.numero_documento ASC'),
							'fields'=>array(
									$modelo.'.numero_control',
									$modelo.'.numero_documento',
									$modelo.'.fecha_emision',
									$modelo.'.codigo_proveedor',
									$modelo.'.nombre_proveedor',
									$modelo.'.direccion_proveedor',
									$modelo.'.suma_retencion_mn',
									$modelo.'.suma_importe_total_mn',
									$modelo.'.suma_retencion_me',
									$modelo.'.suma_importe_total_me',
									$modelo.'.moneda_id',
									$modelo.'.ref_retencion',
								),
							'contain'=>array(
								'Moneda'=>array(
									'fields'=>array('id','descripcion','simbolo')
								),
								'ComprobanteRetencionDetalle'=>array(
									'fields'=>array(
										'id',
										'codigo_documento_id',
										'documento_compra_id',
										'numero_documento',
										'fecha_emision',
										'proveedor_id',
										'nombre_proveedor',
										'monto_mn',
										'retencion_mn',
										'monto_me',
										'retencion_me'
									)
								),
							)					
						)
					);						
            }
            if ($codigo == 109){//GUIA DE REMISION
                $conditions = array($modelo.'.activo'=>true,$modelo.'.anulado'=>false);
                if (!empty($docs))
                        $conditions += array($modelo.'.id '=>$docs);
                else
                        $conditions += array($modelo.'.numero_control >='=>$des,$modelo.'.numero_control <='=>$has);

                $this->controller->{$modelo}->Behaviors->attach('Containable');
                $data = $this->controller->{$modelo}->find('all', array(
                    'conditions'=>$conditions,
                    'order'=>array(
                            $modelo.'.fecha_emision DESC',
                            $modelo.'.numero_documento ASC'),
                    'fields'=>array(
                            $modelo.'.numero_control',
                            $modelo.'.numero_documento',
                            $modelo.'.automatico',
                            $modelo.'.fecha_emision',
                            $modelo.'.fecha_despacho',
                            $modelo.'.direccion_cliente',
                            $modelo.'.nombre_cliente',
                            $modelo.'.loc_cliente',
                            $modelo.'.ruc_cliente',
                            $modelo.'.documento_cliente',
                            $modelo.'.placa_vehiculo',
                            $modelo.'.placa_remolque',
                            $modelo.'.vehiculo_id',
                            $modelo.'.transportista_id',
							$modelo.'.fecha_traslado',
							$modelo.'.destino_id',
							$modelo.'.direccion_partida',
                            $modelo.'.chofer_id'
                    ),
                    'contain'=>array(
                        'Cliente'=>array(
                            'fields'=>array('codigo','referencia','localidad','direccion_entrega'),
                            'Tercero'=>array(
                                    'fields'=>array('numero_documento','ruc')
                            )),
                        'Chofer'=>array(
                            'fields'=>array('brevete_numero','brevete_clase'),
                            'Tercero'=>array(
                                    'fields'=>array('numero_documento')
                            )),
                        'Vehiculo'=>array(
                            'fields'=>array('marca_id','certificado_inscripcion','configuracion','remolque_id' ),
							'Remolque',
                            'Marca'),
                        'Transportista'=>array(
                            'fields'=>array('codigo'),
                            'Tercero'=>array(
							   'fields'=>array('razon_social','direccion','ruc')
                            )),
                        'GuiaRemisionDetalle'=>array(
                            'fields'=>array('cantidad','descripcion_producto','peso','producto_id'),
                            'Producto'=>array('codigo','importe_base')),
                        'GuiaRemisionDocumentoVenta'=>array(
                            'fields'=>array('tipo_documento','documento_venta_id','numero_documento'),
                            'DocumentoVenta'=>array(
                                'fields'=>array(
                                    'nombre_cliente',
                                    'direccion_cliente',
                                    'cliente_id',
                                    'fecha_emision',
                                    'loc_cliente'),
                                'DocumentoVentaDetalle'=>array(
                                    'fields'=>array('producto_id','cantidad','descripcion_producto'),
                                    'Producto'=>array(
                                        'fields'=>array('codigo','peso','unidad_medida_id','importe_base'),
                                        'UnidadMedida'=>array('descripcion','simbolo'))),
                                'Cliente'=>array(
                                    'fields'=>array('codigo','referencia','localidad','direccion_entrega'),
                                    'Tercero'=>array(
                                        'fields'=>array('ruc','numero_documento')
                                    )
                                )
                            )
                        ),
                    )
                ));
				
				
				foreach($data[0]['GuiaRemisionDocumentoVenta'] as $det){// actualizamos los datos de GR en DV
					$dv_id		= $det['documento_venta_id'];
					$destino	= $data[0]['GuiaRemisione']['destino_id'];
					
					//////////////////// vuelvo a guardar los datos de la guia en el dv
					$this->controller->DocumentoVenta->recursive = -1;
					
					// $centro_dist=$this->controller->CentroDists->read(null,$destino);
					
					 // print_r($centro_dist);die('');
					
					$dv = $this->controller->DocumentoVenta->read(null, $dv_id);
					$dv['DocumentoVenta']['con_guia']=1;
					$dv['DocumentoVenta']['observaciones']='GR:'.$data[0]['GuiaRemisione']['numero_documento'].' PLACA: '.$data[0]['GuiaRemisione']['placa_vehiculo'];
					$this->controller->DocumentoVenta->save($dv);						
					////////////////////////				
				}
				
                //DETALLES DE PESOS POR TIPO DE UNIDADES///////////////////////
                $acumulador=array();
                foreach($data as $gr){
					foreach($gr['GuiaRemisionDocumentoVenta'] as $grdv){
						foreach($grdv['DocumentoVenta']['DocumentoVentaDetalle'] as $detalle){
							$precio_refer	=$detalle['Producto']['precio_base']*$detalle['cantidad'];
							$cantidad		=$detalle['cantidad'];
							$peso			=$detalle['Producto']['peso'];
							$unidad			=$detalle['Producto']['UnidadMedida']['descripcion'];
							$pesoxDetalle	=$cantidad*$peso;
							// $acumulador[$unidad] =array(
								// 'cantidad'=>$cantidad,
								// 'peso'=>$pesoxDetalle);
							$acumulador[$unidad]['cantidad']+=$cantidad;
							$acumulador[$unidad]['peso']	+=$pesoxDetalle;
							//$acumulador['precio_ref']+=$precio_refer;
							
						}
					}
                }
			// print_r($acumulador);die;
                // $v= array();
                // foreach($acumulador as $id=>$vector){
					// foreach($vector as $unidad=>$dato){
						// if (isset($v[$unidad]['peso']))
							// $v[$unidad]['peso'] += $vector[$unidad]['peso'];
						// else
							// $v[$unidad]['peso'] = $vector[$unidad]['peso'];
						// if (isset($v[$unidad]['cantidad']))
							// $v[$unidad]['cantidad'] += $vector[$unidad]['cantidad'];
						// else
							// $v[$unidad]['cantidad'] = $vector[$unidad]['cantidad'];
					// }
                // }
                $this->controller->set('unidades', $acumulador);
            }
            if ($codigo == 999){//CONSTANCIA DE VERIFICACION DE PESOS DE MEDIDAS
                    $conditions = array(
						$modelo.'.activo'=>true,
						$modelo.'.anulado'=>false
                    );

                    if (!empty($docs))
                            $conditions += array($modelo.'.id '=>$docs);
                    else
                            $conditions += array(
								$modelo.'.numero_control >='=>$des,
								$modelo.'.numero_control <='=>$has
                            );
                    $this->controller->{$modelo}->Behaviors->attach('Containable');
                    $data = $this->controller->{$modelo}->find('all', array(
                            'conditions'=>$conditions,
                            'order'=>array(
								'ConstanciaPesoMedida.numero_control'=> 'ASC'),                 
                            'contain'=>array(
								'Vehiculo'=>array('Marca'),
								'Remolque'=>array('Carroceria'),
								'Destino',
								'Origen'
								)
                    ));	
					
					///////////////////////////////////////////////////////////////////////////	
					$centro_dist=$this->controller->CentroDist->find('first',array(
						'fields'=>array(
							'CentroDist.simbolo',
							'CentroDist.descripcion_corta',
							'CentroDist.descripcion',
							'CentroDist.id',
							'CentroDist.direccion',
							'CentroDist.ubigeo_id'
							),
						'conditions'=>array(							
							'CentroDist.id'=>$data[0]['ConstanciaPesoMedida']['centro_dist_id'],
							)
						)
					);							
					///////////////////////////////////////////////////////////////////////////////	
					// print_r($centro_dist);die('');
                    $razon_social=$_SESSION['Usuario']['Empresa']['razon_social'];
					
                    $ruc=$_SESSION['Usuario']['Empresa']['ruc'];
                    $ubigeo		=$centro_dist['CentroDist']['ubigeo_id'];
                    // $this->controller->set(compact('razon_social','centDist','ruc'));
                    $ubi=$this->controller->Ubigeo->find('first',array(
                            'conditions'=>array('Ubigeo.id'=>$ubigeo)
                            )
                    );
					
                    $ubigeo= explode('/',$ubi['Ubigeo']['descripcion']);//Array ( [0] => TACNA [1] => TACNA [2] => TACNA )

                    $this->controller->set('departamento', $ubigeo[0]);
                    $this->controller->set('provincia', $ubigeo[1]);
                    $this->controller->set('distrito', $ubigeo[2]);
                    $this->controller->set('razon_social', $razon_social);
                    $this->controller->set('centroDist', $centro_dist);
                    $this->controller->set('ruc', $ruc);
            }
			
			if ($codigo == 888){//Documentos Bancarios
				$conditions = array(
					$modelo.'.activo'=>true,
					$modelo.'.anulado'=>false
				);
				if (!empty($docs))
					$conditions += array($modelo.'.id '=>$docs);
				else
					$conditions += array(
						$modelo.'.id >='=>$des,
						$modelo.'.id <='=>$has
					);		
				$data = $this->controller->{$modelo}->find('first',array(
					'conditions'=>$conditions,
					'contain'=>array(
						'TipoCuentaBancaria',
						'Proveedore',
						'CuentaBancaria'=>array(
						'Moneda'=>array('descripcion','simbolo'),
						'Banco'=>array('descripcion')
						),
						'DocumentoBancarioDetalle'=>array(
							'DocumentoCompra'=>array('nombre_proveedor','numero_documento','id'),
							),
						),
					)
				);
				if(strlen($data['DocumentoBancario']['periodo_id'])<2){				
					$data['DocumentoBancario']['periodo_id']='0'.$data['DocumentoBancario']['periodo_id'];
				}
				
				if($data['DocumentoBancario']['tipo_movimiento_banco_id']==3){
					$data['DocumentoBancario']['titulo']='AUTORIZACION DE GIRO';
					$data['DocumentoBancario']['titulo2']='Cheque';
					$data['DocumentoBancario']['libro']='04';
					$data['DocumentoBancario']['pagar_a']='Sirvase a pagar con cargo a la caja Nro '.$data['CuentaBancaria']['cuenta'].' - '.$data['CuentaBancaria']['Banco']['descripcion'];
					if($data['CuentaBancaria']['efectivo']){
						$data['DocumentoBancario']['titulo']='AUTORIZACION PAGO EN EFECTIVO';
						$data['DocumentoBancario']['titulo2']='Pago';
						$data['DocumentoBancario']['pagar_a']='Sirvase a pagar con cargo a la cta Nro '.$data['CuentaBancaria']['cuenta'].' del banco '.$data['CuentaBancaria']['Banco']['descripcion'];
					}
				}
				if($data['DocumentoBancario']['tipo_movimiento_banco_id']==4){
					$data['DocumentoBancario']['titulo']='NOTA DE CARGO';
					$data['DocumentoBancario']['titulo2']='Nota-Cargo';
					$data['DocumentoBancario']['libro']='04';
					$data['DocumentoBancario']['pagar_a']='Sirvase a pagar con cargo a la cta Nro '.$data['CuentaBancaria']['cuenta'].' del banco '.$data['CuentaBancaria']['Banco']['descripcion'];
				}
				if($data['DocumentoBancario']['tipo_movimiento_banco_id']==5){
					$data['DocumentoBancario']['titulo']='NOTA DE ABONO';
					$data['DocumentoBancario']['titulo2']='Nota-Abono';
					$data['DocumentoBancario']['libro']='03';
					$data['DocumentoBancario']['pagar_a']='Sirvase a pagar con abono a la cta Nro '.$data['CuentaBancaria']['cuenta'].' - '.$data['CuentaBancaria']['Banco']['descripcion'];
				}
            }			
// print_r($data);die('');
            if ($codigo != 120 && $codigo != 140 && $codigo != 109 && $codigo != 999 && $codigo != 888){
				for($i = 0; $i < count($data); $i++){
					if($codigo== 101 || $codigo== 103){
						$fechaEmision	= $this->Formating->fecha($data[$i][$modelo]['fecha_emision']);
						$fechaPago		= $this->Formating->fecha($data[$i][$modelo]['fecha_pago']);
						$data[$i][$modelo]['dias'] = $this->Formating->restaFechas($fechaEmision, $fechaPago);
					}
					if($codigo== 107){
						$fechaEmision	= $this->Formating->fecha($data[$i][$modelo]['fecha_emision']);
						// $fechaPago		= $this->Formating->fecha($data[$i][$modelo]['fecha_pago']);
						//$data[$i]['NotaCredito']['DocumentoReferencia']['dias'] = $this->Formating->restaFechas($fechaEmision, $fechaPago);
						
						list($day, $mon, $year) = explode('/',$fechaEmision);
						$formatoFecha   = "d/m/Y"; 
						$fechaPago= date($formatoFecha, mktime(0, 0, 0, $mon, $day + 15, $year));						
						$data[$i]['NotaCredito']['DocumentoReferencia']['dias']=15;
						$this->controller->set('fechaPago', $fechaPago);
					}
					if($codigo== 108){
						$fechaEmision	= $this->Formating->fecha($data[$i][$modelo]['fecha_emision']);
						$fechaPago		= $this->Formating->fecha($data[$i][$modelo]['fecha_pago']);
						$data[$i]['NotaDebito']['DocumentoReferencia']['dias'] = $this->Formating->restaFechas($fechaEmision, $fechaPago);
					}
					$total = number_format(($data[$i][$modelo]['suma_importe_total'] + $data[$i][$modelo]['suma_percepcion']), 2, '.', '');
					$moneda= $data[$i]['Moneda']['descripcion'];
					$data[$i][$modelo]['texto'] = strtoupper($this->Formating->curr2letras($total, $moneda));
					$data[$i][$modelo]['usuario']	=$this->controller->_usuario['id'];
				}
            } else if ($codigo == 120){
				for($i = 0; $i < count($data); $i++){
					$fechaEmision = $this->Formating->fecha($data[$i][$modelo]['fecha_emision']);
					$total = number_format($data[$i][$modelo]['suma_retencion_mn'], 2, '.', '');
					$moneda = 'NUEVOS SOLES';
					$data[$i]['Moneda']['simbolo'] = 'S/.';
					$data[$i][$modelo]['texto'] = strtoupper($this->Formating->curr2letras($total, $moneda));
					$data[$i][$modelo]['usuario'] = $this->controller->_usuario['id'];
				}
            }
			  // print_r($data);die('');			
            $this->controller->set('modelo', $modelo);
			$this->controller->set('opc', $opc);
            $this->controller->set('documentos', $data);
            $this->controller->set('codigoDocumento', $codigo);
            $this->controller->set('done', 1);
           
            return true;
    }
}
?>